initiatePayment
HTTP method: POST
Call the initiatePayment method to initiate a credit card payment.
Depending on the type parameter, this will either
- reserve an amount on the card for later capture,
- capture an amount, or
- set up a subscription.
For reservations and subscriptions, you capture the payment using the Merchant Information Interface, or using the captureReservation or chargeSubscription methods.
If the terminal does not have 3D Secure enabled, or the credit card is not enrolled - the reservation or capture is created without any 3D Secure authentication.
For information about the flow for 3D Secure payments using the Processor API, see Payment flow process (Processor API).
NB. For 3DSv2 please refer to Customer information request parameters which are mandatory, otherwise transaction will be resulted in a declined state
Select the type of 3D Secure flow (Regular or Nets) to see the parameters and information relevant for that flow:
If the terminal has 3D Secure enabled, and the credit card is enrolled, the result of the method call includes
If the terminal has 3D Secure v2 enabled, and the credit card is enrolled, the result of the method call includes
- A number of parameters *, with 3DSv2 data, which contains the details required to re-direct the card holder to AltaPay's 3DS Server for Authentication.
- a Url, to which you must redirect the customer, supplying the * parameters, as well as the TermUrl URL to redirect your customer to after a successful 3D Secure authentication.
When your customer completes the purchase, a 3ds_data, payment authentication response is returned. To complete the payment, you must then call the verify3dSecure method with the PaRes parameter.
- a PaReq, the payment authentication request, which contains the details required to re-direct the card holder to the Access Control Server (ACS) for their Issuing bank. It also contains the information required to re-direct them back to your own site, once authentication has been completed.
- a Url, to which you must redirect the customer, supplying the PaReq parameter, as well as the TermUrl URL to redirect your customer to after a successful 3D Secure authentication.
When your customer completes the purchase, a PaRes, payment authentication response is returned. To complete the payment, you must then call the verify3dSecure method with the PaRes parameter.
-
MerchantTitle
-
OrderNo
-
MerchantAccount
-
AmountTrn
-
CurrencyTrn
-
MerchantCountry
-
MerchantGmtoffset
-
MerchantUrl
-
PurchaseAmount
-
PurchaseExponent
-
PurchaseDate
-
PurchaseDescription
-
ExtID
-
PAN
-
BIN
-
Last4
-
MerchantContinueURL, the callback URL for successful validation
-
MerchantDeclineURL, the callback URL for declined validation
The flow type of a particular credit card is stated in the FlowType response parameter from the initiatePayment call, and dictates the POST parameters you must include when redirecting your customer. To successfully make a 3dSecure redirect the credit card holder must be redirected to the Url response parameter included in the RedirectResponse parameter, with a HTTP POST including all the parameters from the RedirectResponse response parameter.
When the FlowType is 3DSecureRegular, you must include the following POST parameters:
When the FlowType is 3DSecureNets, you must include the following POST parameters:
Type of 3D Secure flow |
HTTP Post Parameters sent to RedirectUrl |
---|---|
3D Secure V2 |
|
3D Secure |
|
|
Test URL | https://testgateway.altapaysecure.com/processor/API/<method> |
Production URL | https://<YourShopName>.altapaysecure.com/processor/API/<method> |
Parameter | Description | Type | Mandatory | Notes |
---|---|---|---|---|
shop_orderid |
This is the internal ID of the order in your webshop. In most integrations, you can use the same order ID for up to four orders. The shop_orderid value is posted back to you, so you know the order to which the payment refers. |
[a-zA-Z0-9-]{1,100} | X | |
terminal |
The terminal determines the payment method and currency. For more information, see AltaPay's Payment Gateway. This is the title of your terminal, found under Home > Terminal Settings in the Merchant Interface. You can use variables in the terminal parameter. For example, if you want to call My EUR Terminal, you can set the terminal parameter value to 'My {currency} Terminal', where {currency} references the value of the currency parameter. |
string | X | |
amount |
This is the payment amount.You must use a dot as the decimal separator, and the amount can have maximum 2 decimals. |
float | X | |
currency |
This is the payment currency. It must be specified in an ISO-4217 format, either using the 3-digit numeric code, or the 3-letter character code. For more information about ISO-4217 currency codes, see https://en.wikipedia.org/wiki/ISO_4217. |
[0-9]{3} or [A-Z]{3} |
X | |
payment_source |
This identifies the source of the payment. The default value is eCommerce. |
eCommerce mobi moto mail_order telephone_order |
|
|
cardnum |
The credit card number. This is not required if the credit_card_token parameter is used. |
[0-9]{11,19} | Only required if you are creating a transaction from a credit card, and not a token. | |
emonth |
The expiry month on the card. This is not required if the credit_card_token parameter is used. |
[0-9]{1,2} | ||
eyear |
The expiry year on the card. This is not required if the credit_card_token parameter is used. |
[0-9]{4} | ||
credit_card_token | This is the credit card token value. By using a credit card token from a previous payment, your customer won't have to enter credit card details again. To enable this, select the Enable credit card token check box under Home > Terminal Settings in the Merchant Interface. | [0-9a-f]{40} | Only required if you are creating a transaction using a credit card token, and not a card. | |
payment_request_id |
You can use this to let multiple payments fulfila single payment request, which is useful for gift card payment flows. For more information, see initiateGiftCardPayment. |
string | If the payment_request_id parameter is used, the amount, currency, terminal and shop_orderid parameters are retrieved from that existing payment request. | |
cvc | The CVC/CVV/CVV2/Security Code | [0-9]{3-4} | ||
cardholderName | The name of the card holder. | string | ||
cardholderAddress | The address of the card holder. | string | ||
type |
This is the authorization type. For more information, see Payment request types: |
string | ||
issueNumber |
The issue number of the card. Not all cards have this information. |
integer | ||
startMonth |
The start month of the card. Not all cards have this information. |
[0-9]{1,2} | ||
startYear |
The start year of the card. Not all cards have this information. |
[0-9]{4} | ||
transaction_info |
This is a one-dimensional associative array, where you can put any value that you would like to associate with the payment in the call to createPaymentRequest. |
Array Maximum 50 entries of maximum 255 characters each. |
|
|
fraud_service |
Setting the fraud_service parameter lets you select a different fraud detection service on the payment level. |
none
maxmind red test |
||
sale_reconciliation_identifier |
This is the sales reconciliation identifier, used in the reconciliation CSV files you can download from the Merchant Information Interface, or by using the getCustomReport method. For more information, see getCustomReport. This parameter can only be used when the type parameter is set to paymentAndCapture. |
String{0,100} |
Agreement
This parameters should be provided only in case the type parameter is subscription, subscriptionAndCharge or subscriptionAndReserve
NB. Please note that when setting up a agreement the amount has to be positive.
Parameter | Description | Type | Mandatory |
---|---|---|---|
agreement[type] |
This is the type of the agreement. In case the reservation type parameter is subscription, subscriptionAndCharge or subscriptionAndReserve and no agreement[type] is provided, it will create a recurring agreement. Possible values:
|
string | No |
agreement[unscheduled_type] |
This is the type of the unscheduled agreement. In case the reservation type parameter is subscriptionAndCharge or subscriptionAndReserve and the agreement[type]=unscheduled, the agreement[unscheduled_type] parameter is mandatory. Possible values:
|
string | No |
agreement[expiry] | This is the date when the agreement expires. It must have the format YYYYMMDD. | string | No |
agreement[frequency] | It is an integer value representing the frequency between the charge agreement requests made by the merchant. Possible values: 0 - Flexible; 1 - Daily; 7 - Weekly; 14 - Biweekly; 30 - Monthly; 90 - Quarterly; 365 - Yearly. | integer |
No Not allowed for unscheduled agreement. |
agreement[next_charge_date] | This is the date of the first charge agreement request made by the merchant. It must have the format YYYYMMDD. | string | No |
agreement[admin_url] | This is a link to a page on the merchant side where the customer can manage the agreement. |
string | No |
agreement[retention_period] | The customer will be able to cancel the agreement only after passing this retention period. |
string | No |
Customer information
Parameter | Description | Type | Mandatory |
---|---|---|---|
customer_info[username] |
The customer's e-user name or user id. This uniquely identifies the user in your system. |
string | |
customer_info[shipping_lastname] |
The last name for the customer's shipping address. |
String | |
customer_info[shipping_firstname] |
The first name for the customer's shipping address. |
String | |
customer_info[shipping_address] | The street address of the customer's shipping address. | string | YesFor Norway, you can only ship to a customer's legal address |
customer_info[shipping_postal] |
The postal code of the customer's shipping address. |
string | |
customer_info[shipping_region] |
The region of the customer's shipping address. |
string | |
customer_info[shipping_country] |
The country of the customer's shipping address as a 2 character ISO-3166 country code. |
[a-zA-Z]{2} | |
customer_info[shipping_city] |
The city of the customer's shipping address. |
string | |
customer_info[email] |
The customer's email address. |
string | |
customer_info[customer_phone] |
The customer's telephone number, without spaces. This must include the country code. You can prefix the code with + (e.g. +446721846), or 00 (e.g. 00446721846), or omit the prefix (e.g. 446721846). |
string | |
customer_info[birthdate] |
The birth date of the customer Mandatory if your MCC code is 6012. |
Date (yyyy-mm-dd) | Yes, if your MCC code is 6012 |
customer_info[billing_lastname] |
The last name for the customer's billing address. Mandatory if your MCC code is 6012. |
String | |
customer_info[billing_firstname] |
The first name for the customer's billing address. |
String | |
customer_info[billing_address] |
The street address of the customer's billing address. |
string | |
customer_info[billing_city] |
The city of the customer's billing address. Mandatory for fraud detection. |
string | |
customer_info[billing_region] |
The region of the customer's billing address. Mandatory for fraud detection. |
string | |
customer_info[billing_postal] |
The postal code of the customer's billing address. Mandatory if your MCC code is 6012. Mandatory for fraud detection. |
string | |
customer_info[billing_country] |
The country of the customer's billing address as a 2 character ISO-3166 country code. Northern Ireland is an exception; see here. Mandatory for fraud detection. |
[a-zA-Z]{2} | |
customer_info[bank_phone] |
The phone number of the bank where the credit card was issued. |
String | |
customer_info[bank_name] | string | ||
customer_info[gender] |
Certain invoice payment providers require gender to be sent. Use this field to comply with that requirement. If this parameter is required by the provider, but not set in the method call, the customer is asked for this information on the payment page (callback_form). |
FMmalefemale | |
customer_info[client_session_id] |
A unique identifier of the customers session (eg. an md5 hash of the real session id). Used for fraud detection. |
string | |
customer_info[cardholder_name] |
Cardholder name. |
string | Required for 3DSecure V2 Authentication Assessment |
customer_info[client_accept_language] |
The language setting of the customers browser. Used for fraud detection. |
string | Required for 3DSecure V2 Authentication Assessment |
customer_info[client_user_agent] |
The customers browser identification. Used for fraud detection. |
string | Required for 3DSecure V2 Authentication Assessment |
customer_info[client_ip] |
The customers IP address. Used for fraud detection. |
string | Required for 3DSecure V2 Authentication Assessment |
customer_info[client_accept] |
The customers browser accept header. |
string | Required for 3DSecure V2 Authentication Assessment |
customer_info[client_forwarded_ip] |
The customers IP address as forwarded by transparent proxy. Used for fraud detection. |
string | Required for 3DSecure V2 Authentication Assessment |
customer_info[client_java_enabled] |
The customer's client supports java. Example: navigator.javaEnabled(); |
boolean | Required for 3DSecure V2 Authentication Assessment |
customer_info[client_color_depth] |
The customer's client screen color depth. Example: screen.colorDepth; |
double | Required for 3DSecure V2 Authentication Assessment |
customer_info[client_screen_height] |
The customer's client screen height. Example: screen.height; |
double | Required for 3DSecure V2 Authentication Assessment |
customer_info[client_screen_width] |
The customer's client screen width. Example: screen.width; |
double | Required for 3DSecure V2 Authentication Assessment |
customer_info[client_time_zone] |
The customer's client screen timezone. Example: new Date().getTimezoneOffset(); |
int | Required for 3DSecure V2 Authentication Assessment |
customer_info[client_javascript_enabled] |
The customer's client supports javascript. |
boolean | Required for 3DSecure V2 Authentication Assessment |
The table shows the most pertinent response values for the method. For a complete list of API response parameters, see API Response structure (XML).
Value | Description |
---|---|
Result |
The result of the request, for example:
|
RedirectResponse | For cards enrolled with 3D Secure, the redirect response contains a URL you must redirect your customer to, and also includes a set of POST parameters you need to include in the redirect call. The data in the RedirectResponse element depends on whether a regular 3D Secure flow is used, or if the credit card is enrolled with 3D Secure Nets. |
Transactions |
Contains a set of Transaction elements, each describing the relevant transactions. For more information, see Transaction. |
Transactions Transaction PaymentID |
The ID of a payment or subscription. Is used for transaction processing. |
NB. To see 3DSecure examples, use dropdown box in "3D Secure workflow" section
Minimal Request example
curl --request POST \ --url https://<YourShopName>.altapaysecure.com/processor/API/initiatePayment \ --header 'Authorization: Basic auth' \ --data terminal='MyTerminal' \ --data shop_orderid=abc123 \ --data amount=42.75 \ --data currency=EUR \ --data cardnum=4111111111111111 \ --data emonth=08 \ --data eyear=2025 \ --data payment_source=eCommerce \
Advanced Request example
curl --request POST \ --url https://<YourShopName>.altapaysecure.com/processor/API/initiatePayment \ --header 'Authorization: Basic auth' \ --data terminal='MyTerminal' \ --data shop_orderid=abc123 \ --data amount=42.75 \ --data currency=EUR \ --data cardnum=4111111111111111 \ --data emonth=08 \ --data eyear=2025 \ --data payment_source=eCommerce \ --data customer_info[client_ip]=72.14.213.103 \ --data customer_info[billing_city]=Glostrup \ --data customer_info[billing_region]=Copenhagen \ --data customer_info[billing_postal]=2600 \ --data customer_info[billing_country]=dk \ --data customer_info[email]=myuser@mail.dk \ --data customer_info[username]=myuser \ --data orderLines[0][description]='Something Awesome' \ --data orderLines[0][itemId]=SthAwes \ --data orderLines[0][quantity]=2 \ --data orderLines[0][unitPrice]=1.17 \
Example XML result (non-3D Secure)
<?xml version="1.0" encoding="utf-8" ?> <APIResponse version="20170228"> <Header> <Date>2020-09-29T12:34:56+02:00</Date> <Path>API/initiatePayment</Path> <ErrorCode>0</ErrorCode> <ErrorMessage></ErrorMessage> </Header> <Body> <Result>Success</Result> <Transactions> <Transaction> <TransactionId>1</TransactionId> <PaymentId>ccc1479c-37f9-4962-8d2c-662d75117e9d</PaymentId> <CardStatus>Valid</CardStatus> <CreditCardToken>93f534a2f5d66d6ab3f16c8a7bb7e852656d4bb2 </CreditCardToken> <CreditCardMaskedPan>411111******1111</CreditCardMaskedPan> <ThreeDSecureResult>Not_Applicable</ThreeDSecureResult> <LiableForChargeback>Merchant</LiableForChargeback> <BlacklistToken>4f244dec4907eba0f6432e53b17a60ebcf51365e </BlacklistToken> <ShopOrderId>myorderid</ShopOrderId> <Shop>AltaPay Shop</Shop> <Terminal>AltaPay Test Terminal</Terminal> <TransactionStatus>captured</TransactionStatus> <ReasonCode>NONE</ReasonCode> <MerchantCurrency>978</MerchantCurrency> <MerchantCurrencyAlpha>EUR</MerchantCurrencyAlpha> <CardHolderCurrency>978</CardHolderCurrency> <CardHolderCurrencyAlpha>EUR</CardHolderCurrencyAlpha> <ReservedAmount>2.34</ReservedAmount> <CapturedAmount>0.00</CapturedAmount> <RefundedAmount>0</RefundedAmount> <RecurringDefaultAmount>0</RecurringDefaultAmount> <CreatedDate>2010-09-28 12:34:56</CreatedDate> <UpdatedDate>2010-09-28 12:34:56</UpdatedDate> <PaymentNature>CreditCard</PaymentNature> <PaymentNatureService name="TestAcquirer"> <SupportsRefunds>true</SupportsRefunds> <SupportsRelease>true</SupportsRelease> <SupportsMultipleCaptures>true</SupportsMultipleCaptures> <SupportsMultipleRefunds>false</SupportsMultipleRefunds> </PaymentNatureService> </Transaction> </Transactions> </Body> </APIResponse>
Example XML result with 3D Secure (Regular)
<?xml version="1.0" encoding="utf-8" ?> <APIResponse version="20170228"> <Header> <Date>2020-03-08T15:54:33+01:00</Date> <Path>API/initiatePayment</Path> <ErrorCode>0</ErrorCode> <ErrorMessage/> </Header> <Body> <Result>3dSecure</Result> <RedirectResponse> <Url>https://testbank.pensio.com/ThreeDSecure</Url> <Method>POST</Method> <Data> <Item key="PaReq">WorkingPaReq</Item> <Item key="MD">426f621f-b79a-40a7-8dee-31ab2e4808a8</Item> </Data> <FlowType>3DSecureRegular</FlowType> </RedirectResponse> <Transactions> <Transaction> <TransactionId>7</TransactionId> <PaymentId>426f621f-b79a-40a7-8dee-31ab2e4808a8</PaymentId> <AuthType>payment</AuthType> <CardStatus>Valid</CardStatus> <CreditCardExpiry> <Year>2020</Year> <Month>12</Month> </CreditCardExpiry> <CreditCardToken>3bf04e0b0504301f334c2d0c50928ca9a74e4d14</CreditCardToken> <CreditCardMaskedPan>501900******0001</CreditCardMaskedPan> <ThreeDSecureResult>Not_Attempted</ThreeDSecureResult> <LiableForChargeback>Merchant</LiableForChargeback> <CVVCheckResult>Not_Attempted</CVVCheckResult> <BlacklistToken>a074428a3b6dfc44c13c27a4d40cee54cf89ad24</BlacklistToken> <ShopOrderId>testorder_1234</ShopOrderId> <Shop>AltaPay Shop</Shop> <Terminal>AltaPay Test Terminal</Terminal> <TransactionStatus>3dsecure_auth_started</TransactionStatus> <ReasonCode>NONE</ReasonCode> <MerchantCurrency>208</MerchantCurrency> <MerchantCurrencyAlpha>DKK</MerchantCurrencyAlpha> <CardHolderCurrency>208</CardHolderCurrency> <CardHolderCurrencyAlpha>DKK</CardHolderCurrencyAlpha> <ReservedAmount>0.00</ReservedAmount> <CapturedAmount>0.00</CapturedAmount> <RefundedAmount>0.00</RefundedAmount> <CreditedAmount>0.00</CreditedAmount> <RecurringDefaultAmount>0.00</RecurringDefaultAmount> <SurchargeAmount>0.00</SurchargeAmount> <CreatedDate>2017-03-08 15:54:33</CreatedDate> <UpdatedDate>2017-03-08 15:54:33</UpdatedDate> <PaymentNature>CreditCard</PaymentNature> <PaymentSchemeName>Dankort</PaymentSchemeName> <PaymentNatureService name="SoapTestAcquirer"> <SupportsRefunds>true</SupportsRefunds> <SupportsRelease>true</SupportsRelease> <SupportsMultipleCaptures>true</SupportsMultipleCaptures> <SupportsMultipleRefunds>true</SupportsMultipleRefunds> </PaymentNatureService> <ChargebackEvents/> <PaymentInfos> <PaymentInfo name="fraudCheckTest"><![CDATA[Checkit!]]></PaymentInfo> </PaymentInfos> <CustomerInfo> <UserAgent/> <IpAddress/> <Email/> <Username/> <CustomerPhone/> <OrganisationNumber/> <CountryOfOrigin> <Country>DK</Country> <Source>CardNumber</Source> </CountryOfOrigin> </CustomerInfo> <ReconciliationIdentifiers/> </Transaction> </Transactions> </Body> </APIResponse>
3D Secure v2 GET example
https://<YourShopName>.altapaysecure.com/processor/API/initiatePayment/?terminal=AltaPay 3DSecure2 Test Terminal&shop_orderid=ProcessorAPITest562346&amount=600¤cy=EUR&cardnum=4018810000190011&emonth=12&eyear=2031&payment_source=eCommerce&customer_info[client_ip]=192.168.1.1&customer_info[client_accept]=text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8&customer_info[client_time_zone]=60&customer_info[client_user_agent]=Mozilla/5.0 (X11; Linux x86_64; rv:99.0) Gecko/20100101 Firefox/99.0&customer_info[client_accept_language]=en-US&customer_info[client_screen_width]=2560&customer_info[client_screen_height]=1440&customer_info[cardholder_name]=test test&customer_info[client_color_depth]=24
Example XML result with 3D Secure v2 (3DSecureV2)
<?xml version="1.0" encoding="utf-8" ?> <APIResponse version="20170228"> <Header> <Date>2020-03-08T15:54:33+01:00</Date> <Path>API/initiatePayment</Path> <ErrorCode>0</ErrorCode> <ErrorMessage/> </Header> <Body> <Result>3dSecure</Result> <RedirectResponse> <Url>https://testbank.pensio.com/eCommerce/API/emvcoThreeDSecure/authenticate/426f621f-b79a-40a7-8dee-31ab2e4808a8</Url> <Method>POST</Method> <Data/> <FlowType>3DSecureV2</FlowType> </RedirectResponse> <Transactions> <Transaction> <TransactionId>7</TransactionId> <PaymentId>426f621f-b79a-40a7-8dee-31ab2e4808a8</PaymentId> <AuthType>payment</AuthType> <CardStatus>Valid</CardStatus> <CreditCardExpiry> <Year>2020</Year> <Month>12</Month> </CreditCardExpiry> <CreditCardToken>3bf04e0b0504301f334c2d0c50928ca9a74e4d14</CreditCardToken> <CreditCardMaskedPan>501900******0001</CreditCardMaskedPan> <ThreeDSecureResult>Not_Attempted</ThreeDSecureResult> <LiableForChargeback>Merchant</LiableForChargeback> <CVVCheckResult>Not_Attempted</CVVCheckResult> <BlacklistToken>a074428a3b6dfc44c13c27a4d40cee54cf89ad24</BlacklistToken> <ShopOrderId>testorder_1234</ShopOrderId> <Shop>AltaPay Shop</Shop> <Terminal>AltaPay Test Terminal</Terminal> <TransactionStatus>threeds2_reservation_method_call_started</TransactionStatus> <ReasonCode>NONE</ReasonCode> <MerchantCurrency>208</MerchantCurrency> <MerchantCurrencyAlpha>DKK</MerchantCurrencyAlpha> <CardHolderCurrency>208</CardHolderCurrency> <CardHolderCurrencyAlpha>DKK</CardHolderCurrencyAlpha> <ReservedAmount>0.00</ReservedAmount> <CapturedAmount>0.00</CapturedAmount> <RefundedAmount>0.00</RefundedAmount> <CreditedAmount>0.00</CreditedAmount> <RecurringDefaultAmount>0.00</RecurringDefaultAmount> <SurchargeAmount>0.00</SurchargeAmount> <CreatedDate>2017-03-08 15:54:33</CreatedDate> <UpdatedDate>2017-03-08 15:54:33</UpdatedDate> <PaymentNature>CreditCard</PaymentNature> <PaymentSchemeName>Visa</PaymentSchemeName> <PaymentNatureService name="SoapTestAcquirer"> <SupportsRefunds>true</SupportsRefunds> <SupportsRelease>true</SupportsRelease> <SupportsMultipleCaptures>true</SupportsMultipleCaptures> <SupportsMultipleRefunds>true</SupportsMultipleRefunds> </PaymentNatureService> <ChargebackEvents/> <PaymentInfos> <PaymentInfo name="fraudCheckTest"><![CDATA[Checkit!]]></PaymentInfo> </PaymentInfos> <CustomerInfo> <UserAgent/> <IpAddress/> <Email/> <Username/> <CustomerPhone/> <OrganisationNumber/> <CountryOfOrigin> <Country>DK</Country> <Source>CardNumber</Source> </CountryOfOrigin> </CustomerInfo> <ReconciliationIdentifiers/> </Transaction> </Transactions> </Body> </APIResponse>
Example XML result with 3D Secure for Nets
<APIResponse version="20170228"> <Header> <Date>2020-03-08T15:45:15+01:00</Date> <Path>API/initiatePayment</Path> <ErrorCode>0</ErrorCode> <ErrorMessage/> </Header> <Body> <Result>3dSecure</Result> <RedirectResponse> <Url>https://dankort-acs.staging.modirum.com/nets-dankort/req</Url> <Method>POST</Method> <Data> <Item key="PAN">o0nt0el4d4kpm59va93iosg224</Item> <Item key="MerchantUrl">https://www.altapay.com</Item> <Item key="CurrencyTrn">DKK</Item> <Item key="ExtID">NSAgICAgICAgICAgICAgICAgICA=</Item> <Item key="Last4">0001</Item> <Item key="MerchantAccount">1978551</Item> <Item key="AmountTrn">000000023500</Item> <Item key="PurchaseDate">170308 15:45:13</Item> <Item key="MerchantTitle">Altapay</Item> <Item key="PurchaseExponent">2</Item> <Item key="MerchantGmtoffset">+1</Item> <Item key="OrderNo">testorder_1234</Item> <Item key="MerchantCountry">208</Item> <Item key="PurchaseAmount">235.00 DKK</Item> <Item key="BIN">501900</Item> <Item key="PurchaseDescription">Order No.5</Item> </Data> <FlowType>3DSecureNets</FlowType> </RedirectResponse> <Transactions> <Transaction> <TransactionId>5</TransactionId> <PaymentId>dedc1cc6-2f44-42d3-953c-1185ca8e1437</PaymentId> <AuthType>payment</AuthType> <CardStatus>Valid</CardStatus> <CreditCardExpiry> <Year>2020</Year> <Month>12</Month> </CreditCardExpiry> <CreditCardToken>3bf04e0b0504301f334c2d0c50928ca9a74e4d14</CreditCardToken> <CreditCardMaskedPan>501900******0001</CreditCardMaskedPan> <ThreeDSecureResult>Not_Applicable</ThreeDSecureResult> <LiableForChargeback>Merchant</LiableForChargeback> <CVVCheckResult>Not_Applicable</CVVCheckResult> <BlacklistToken>a074428a3b6dfc44c13c27a4d40cee54cf89ad24</BlacklistToken> <ShopOrderId>testorder_1234</ShopOrderId> <Shop>AltaPay Shop</Shop> <Terminal>AltaPay Test Terminal</Terminal> <TransactionStatus>3dsecure_auth_started</TransactionStatus> <ReasonCode>NONE</ReasonCode> <MerchantCurrency>208</MerchantCurrency> <MerchantCurrencyAlpha>DKK</MerchantCurrencyAlpha> <CardHolderCurrency>208</CardHolderCurrency> <CardHolderCurrencyAlpha>DKK</CardHolderCurrencyAlpha> <ReservedAmount>0.00</ReservedAmount> <CapturedAmount>0.00</CapturedAmount> <RefundedAmount>0.00</RefundedAmount> <CreditedAmount>0.00</CreditedAmount> <RecurringDefaultAmount>0.00</RecurringDefaultAmount> <SurchargeAmount>0.00</SurchargeAmount> <CreatedDate>2017-03-08 15:45:13</CreatedDate> <UpdatedDate>2017-03-08 15:45:14</UpdatedDate> <PaymentNature>CreditCard</PaymentNature> <PaymentSchemeName>Dankort</PaymentSchemeName> <PaymentNatureService name="PbsAcquirer"> <SupportsRefunds>true</SupportsRefunds> <SupportsRelease>true</SupportsRelease> <SupportsMultipleCaptures>true</SupportsMultipleCaptures> <SupportsMultipleRefunds>true</SupportsMultipleRefunds> </PaymentNatureService> <ChargebackEvents/> <PaymentInfos> <PaymentInfo name="fraudCheckTest"><![CDATA[Checkit!]]></PaymentInfo> </PaymentInfos> <CustomerInfo> <UserAgent/> <IpAddress/> <Email/> <Username/> <CustomerPhone/> <OrganisationNumber/> <CountryOfOrigin> <Country>DK</Country> <Source>CardNumber</Source> </CountryOfOrigin> </CustomerInfo> <ReconciliationIdentifiers/> </Transaction> </Transactions> </Body> </APIResponse>